<?
/**
 * Libreria para el manejo de logs
 *
 */
class Log{

	/**
	 * Recurso abierto actualmene
	 *
	 * @var Object
	 */
	private $f;
	/**
	 * Nombre del log abierto actualmente
	 *
	 * @var unknown_type
	 */
	private $log;

	/**
	 * Constructor de Log
	 *
	 */
	function __construct(){
	}

	/**
	 * Abre un log existente o crea uno nuevo
	 *
	 * @param String $log
	 */
	public function abrirLog($log){
		//apertura de archivo, modo apertura "a", intenta abrir, si no existe lo crea
		$this->log=$log;
		$this->f = fopen("logs/$log.html","a");
	}

	/**
	 * Añade una linea al Log abierto
	 *
	 * @param String $string
	 */
	public function add($string){
		fwrite($this->f,$string."<br />");
	}

	/**
	 * Lee todo el contenido de un log
	 * 
	 * Si no se pasa parametro se abrirá el log creado con abrirLog
	 *
	 * @param String $log
	 * @return String
	 */
	public function leerLog($log=""){
		if($log==""){
			$log=$this->log;
		}
		$texto = "";
		$fp = fopen("logs/$log.html","r");
		while ($linea= fgets($fp,1024))
		{
			$texto .= $linea;
		}
		fclose($fp);
		return $texto;
	}

	/**
	 * Cierra el log abierto
	 *
	 */
	public function cerrarLog(){
		fclose($this->f);
	}
}
?>